/**
 * 版权所有(C)，上海海鼎信息工程股份有限公司，2008，所有权利保留。
 * 
 * 项目名：	rumba
 * 文件名：	QCartridge.java
 * 模块说明：	
 * 修改历史：
 * Feb 20, 2008 - lxm - 创建。
 */
package com.hd123.rumba.gwt.cartridge.client.biz;

import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;

import com.hd123.rumba.gwt.base.client.biz.BPersistent;
import com.hd123.rumba.gwt.base.client.exception.ClientBizException;

/**
 * 构件包 | 业务层.查询 | 实体
 * 
 * @author lxm
 * 
 */
public class QCartridge extends BPersistent {

  public String getReaderClassName() throws ClientBizException {
    return "com.hd123.rumba.gwt.cartridge.server.biz.QCartridgeReader";
  }

  private String prefix;
  private String caption;
  private String captionEN;
  private Version version = new Version();
  private String remark;
  private Boolean asCover;
  private String copyright;
  /** @gwt.typeArgs <java.lang.String, java.lang.String> */
  private Map resources = new HashMap();

  /** 是否可以作为系统封面，默认为false。 */
  public Boolean getAsCover() {
    return asCover;
  }

  /** 是否可以作为系统封面，默认为false。 */
  public void setAsCover(Boolean asCover) {
    this.asCover = asCover;
  }

  /** 标题（中文） */
  public String getCaption() {
    return caption;
  }

  /** 标题（中文） */
  public void setCaption(String caption) {
    this.caption = caption;
  }

  /** 标题（英文） */
  public String getCaptionEN() {
    return captionEN;
  }

  /** 标题（英文） */
  public void setCaptionEN(String captionEN) {
    this.captionEN = captionEN;
  }

  /** 版权信息。 */
  public String getCopyright() {
    return copyright;
  }

  /** 版权信息。 */
  public void setCopyright(String copyright) {
    this.copyright = copyright;
  }

  /** 唯一前缀 */
  public String getPrefix() {
    return prefix;
  }

  /** 唯一前缀 */
  public void setPrefix(String prefix) {
    this.prefix = prefix;
  }

  /** 说明 */
  public String getRemark() {
    return remark;
  }

  /** 说明 */
  public void setRemark(String remark) {
    this.remark = remark;
  }

  /**
   * 对应资源表。<br>
   * 其中存放了与构件包相关的资源文件的url。通过key的方式进行访问，可选的key由表示层设计决定。
   * 
   * @gwt.typeArgs <java.lang.String, java.lang.String>
   */
  public Map getResources() {
    return resources;
  }

  /**
   * 对应资源表。<br>
   * 其中存放了与构件包相关的资源文件的url。通过key的方式进行访问，可选的key由表示层设计决定。
   * 
   * @gwt.typeArgs resources <java.lang.String, java.lang.String>
   */
  public void setResources(Map resources) {
    this.resources = resources;
  }

  /** 版本号。 */
  public Version getVersion() {
    return version;
  }

  /** 版本号。 */
  public void setVersion(Version version) {
    this.version = version;
  }

  public static class Version implements Serializable {

    private Integer macroVersion = new Integer(0);
    private Integer minorVersion = new Integer(0);
    private Integer release = new Integer(0);
    private Integer buildNo = new Integer(0);
    
    public String toString() {
      StringBuffer sb = new StringBuffer();
      sb.append(macroVersion.toString());
      sb.append(".");
      sb.append(minorVersion.toString());
      sb.append(".");
      sb.append(release.toString());
      sb.append(".");
      sb.append(buildNo.toString());
      return sb.toString();
    }

    public Integer getBuildNo() {
      return buildNo;
    }

    public void setBuildNo(Integer buildNo) {
      this.buildNo = buildNo;
    }

    public Integer getMacroVersion() {
      return macroVersion;
    }

    public void setMacroVersion(Integer macroVersion) {
      this.macroVersion = macroVersion;
    }

    public Integer getMinorVersion() {
      return minorVersion;
    }

    public void setMinorVersion(Integer minorVersion) {
      this.minorVersion = minorVersion;
    }

    public Integer getRelease() {
      return release;
    }

    public void setRelease(Integer release) {
      this.release = release;
    }

  }
}
